<?php

class Admin_IndexController extends Zend_Controller_Action {

    public function init() {
        $auth = Zend_Auth::getInstance();
        if ($auth->hasIdentity()) {
            if (!empty($auth->getIdentity()->id)) {
                $usuarioDao = new Doctrine_Model_UsuariosDoctrineDao();
                $this->view->usuario = $usuarioDao->obtenerPorId($auth->getIdentity()->id);
            }
        } else {
            $this->_helper->redirector('index', 'login', 'admin');
        }

        $this->_helper->layout()->setLayout("layout_admin");
        $this->_flashMessenger = $this->_helper->getHelper('Mensaje');
    }

    public function indexAction() {
        
    }

    public function generarbackupAction() {
         Doctrine_Model_ProcesosAutomaticos::generarBackupDB(true);
    }
    
    public function listabackupsAction() {
        
        $folder = "/backups";
        
        $datos = array();
        
        $directorio = opendir(".{$folder}");
        while ($archivo = readdir($directorio)) {
            if (!is_dir($archivo)) {
                $datos[] = $archivo;
            }
        }
        
        $this->view->datos = $datos;
        
    }
    
    public function descargabackupsAction() {
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender();
        
        $archivo = $this->getRequest()->getParam("archivo");
        
        $filename = "./backups/{$archivo}";
        $size = filesize($filename);
        header("Content-Transfer-Encoding: binary");
        header("Content-type: application/force-download");
        header("Content-Disposition: attachment; filename=$archivo");
        header("Content-Length: $size");
        readfile("$filename");
    }
    
}

